Embedded software runs on systems that interact with the physical world in real time. These systems, often referred to as embedded systems, are designed to perform specific tasks with optimal efficiency and possess certain unique characteristics. A characteristic is that embedded systems should have long life because they often reside in machines that are expected to run continuously for years without errors. Another characteristic is that errors in embedded systems are costly. For instance, if a temperature sensor system fails in motors or transformers, they get over heated and fail. Hence, most of the embedded systems are programmed and tested to satisfy zero error tolerance. And another characteristic is that embedded systems should be extremely reliable during operation. Some of the reliability features of embedded systems are: a) safety b) ease of repair, c) ease of shutting down and automatic turn on. Embedded systems should not affect other controllers when they fail. Still another characteristic is that embedded systems need to react instantaneously for any input. The embedded system can be outside the reach of humans (down an oil well borehole, or launched into outer space, etc.), so the embedded system must restart itself even if catastrophic data corruption takes place. And still another characteristic of embedded systems, is that they interact with several systems simultaneously and should be designed to concurrently react with many systems in real time with out any problems. Yet another characteristic is they constitute many interdependent components such as hardware, software, firmware and complex networks to exchange messages. This interdependency allows embedded systems to communicate with other systems. For example in a vehicle, a cruise control system communicates to power train to maintain the set speed.
Further, embedded systems are used to control and/or monitor the operation of machinery and can be found in a variety of product structures executing a variety of applications. In recent years, embedded systems experienced exponential growth due to the ever increasing customer demands with changing product structure requirements. An important development in embedded systems is networking. Advances in wireless technology coupled with low cost and compact size integrated chips helped rapid growth of embedded network systems involving volumes of messages. The networks enable the embedded systems to communicate with each other and also with the physical world. A typical product structure that has an embedded system contains one or more buses that continuously transmit volumes of messages and signals across various components. It is very burdensome to the multitude of developers and designers working on an product structure to track and maintain the embedded system components that go into the product structure while staying with model and other changes that occur throughout the life cycle of a product. Likewise it is difficult to manage the effect a design change has on a network bus or message as they relate to the product structure.
What is needed is a system and method for message data management of embedded systems as part of the over all embedded systems model.